{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib \n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import warnings\n",
    "import numpy as np\n",
    "\n",
    "##解决图例中文乱码，设置参数\n",
    "matplotlib.rcParams['font.family']=['sans-serif']\n",
    "matplotlib.rcParams['font.sans-serif']=['Songti SC']#显示中文\n",
    "matplotlib.rcParams['font.serif']=['Songti SC']\n",
    "matplotlib.rcParams['axes.unicode_minus']=False #正常显示符号\n",
    "\n",
    "#屏蔽警告信息\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 普通柱形图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 创建数据集\n",
    "height = [3, 12, 5, 18, 45]\n",
    "bars = ('A', 'B', 'C', 'D', 'E')\n",
    "y_pos = np.arange(len(bars))\n",
    "\n",
    "plt.figure(figsize=(16,5))\n",
    "plt.subplot(121)\n",
    "plt.title(\"垂直柱形图\")\n",
    "# 创建柱形图表\n",
    "plt.bar(y_pos, height)\n",
    "# 创建x轴刻度名称\n",
    "plt.xticks(y_pos, bars)\n",
    "\n",
    "## 水平柱形图，绘制图表函数 barh\n",
    "plt.subplot(122)\n",
    "plt.title(\"水平柱形图\")\n",
    "plt.barh(y_pos,height)\n",
    "plt.yticks(y_pos,bars)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 分组柱形图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.set(style=\"darkgrid\")\n",
    "\n",
    "# load dataset\n",
    "tips = pd.read_csv('../seaborn-data/tips.csv')\n",
    "\n",
    "# Set the figure size\n",
    "plt.figure(figsize=(8, 8))\n",
    "\n",
    "#设置图表颜色\n",
    "colors = [\"#69b3a2\", \"#4374B3\"]\n",
    "sns.set_palette(sns.color_palette(colors))\n",
    "\n",
    "# grouped barplot\n",
    "sns.barplot(x=\"day\", y=\"total_bill\", hue=\"smoker\", data=tips, ci=None);"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
